logo icon
ธนินัชดอทคอม - รับสร้าง Website, Mobile Application
image

บทความ

ธนินัช ดอทคอม - ผู้เชี่ยวชาญทำเว็บไซต์

TinyMCE กำหนด plugins และ external_plugins ใน Yii2 Advanced Framework

Yii2 TinyMCE คือ Extension ที่ใช้สำหรับการใส่ Editor ลงใน Form ของเว็บไซต์ โดยใช้ TinyMCE ซึ่งเป็น Open Source JavaScript WYSIWYG Editor ที่มีความสามารถในการแสดงผลแบบ Rich Text รวมถึงการจัดการรูปแบบตัวอักษร การแทรกรูปภาพ การจัดหน้า และอื่นๆ อีกมากมาย

Extension นี้ชื่อว่า yii2-tinymce และถูกพัฒนาโดย dosamigos โดย Extension นี้สามารถติดตั้งผ่าน Composer ได้ง่ายๆ โดยใช้คำสั่ง composer require --prefer-dist "dosamigos/yii2-tinymce-widget:*" แล้วเรียกใช้ Extension นี้ใน View โดยการใช้ dosamigos\tinymce\TinyMce Widget ตามที่ต้องการใน Form ของเว็บไซต์
ใน Yii2 ถ้าต้องการกำหนด plugins ของ TinyMCE ใน clientOptions สามารถทำได้ดังนี้

use dosamigos\tinymce\TinyMce; echo TinyMce::widget([ 'name' => 'mytextarea', 'clientOptions' => [ 'plugins' => [ "advlist autolink lists link image charmap print preview anchor", "searchreplace visualblocks code fullscreen", "insertdatetime media table contextmenu paste" ], 'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" ] ]);

ในตัวอย่างข้างต้น กำหนด plugins ต่าง ๆ ให้กับ TinyMCE ด้วยตัวแปร plugins ที่เป็นอาร์เรย์ของชื่อ plugin ที่ต้องการใช้งาน และกำหนด toolbar ด้วยตัวแปร toolbar ที่เป็นสตริงของเครื่องมือที่ต้องการแสดงใน editor นั้น ๆ

ใน Yii2 ถ้าต้องการกำหนด plugins ของ TinyMCE external_plugins สามารถทำได้ดังนี้

  1. ดาวน์โหลดไฟล์ zip ของ TinyMCE จาก https://www.tiny.cloud/get-tiny/self-hosted/
  2. แตกไฟล์และนำโฟลเดอร์ tinymce ไปวางไว้ในโฟลเดอร์ web ของโปรเจกต์ Yii2
  3. กำหนดโค้ดตามตัวอย่างด้านล่างเพื่อกำหนดการใช้งาน plugins และ toolbar ให้กับ TinyMCE ใน Yii2
use dosamigos\tinymce\TinyMce; echo TinyMce::widget([ 'name' => 'mytextarea', 'clientOptions' => [ 'external_plugins' => [ 'myplugin' => '/path/to/tinymce/plugins/myplugin/plugin.min.js', // เพิ่ม plugins อื่น ๆ ตามต้องการได้ ], 'toolbar' => 'myplugin | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | link image media | forecolor backcolor emoticons', // กำหนด toolbar ตามต้องการ ] ]);

ในตัวอย่างข้างต้น กำหนด external_plugins ของ TinyMCE ด้วยตัวแปร external_plugins ที่เป็นอาร์เรย์ของชื่อ plugin และตำแหน่งของไฟล์ plugin ที่ต้องการใช้งาน และกำหนด toolbar ด้วยตัวแปร toolbar ที่เป็นสตริงของเครื่องมือที่ต้องการแสดงใน editor นั้น ๆ

Yii2 TinyMCE มี external_plugins ต่าง ๆ ที่สามารถใช้งานได้ตามความต้องการของโปรเจกต์ ตัวอย่างเช่น

  1. advlist - ใช้สำหรับการแสดงรายการอัตโนมัติ
  2. autolink - ใช้สำหรับการแปลง URL เป็นลิงก์อัตโนมัติ
  3. lists - ใช้สำหรับการสร้างรายการแบบต่าง ๆ
  4. link - ใช้สำหรับการเพิ่มลิงก์
  5. image - ใช้สำหรับการเพิ่มรูปภาพ
  6. charmap - ใช้สำหรับการแทรกอักขระพิเศษ
  7. print - ใช้สำหรับการพิมพ์
  8. preview - ใช้สำหรับการดูตัวอย่างของเนื้อหาที่กำลังแก้ไข
  9. hr - ใช้สำหรับการเพิ่มเส้นแบ่ง
  10. anchor - ใช้สำหรับการเพิ่มลิงก์หน้า
  11. pagebreak - ใช้สำหรับการแทรกการแบ่งหน้า
  12. searchreplace - ใช้สำหรับการค้นหาและแทนที่เนื้อหา
  13. wordcount - ใช้สำหรับการนับจำนวนคำ
  14. visualblocks - ใช้สำหรับการแสดงบล็อกเนื้อหาในตัวแก้ไข
  15. visualchars - ใช้สำหรับการแสดงอักขระในตัวแก้ไข
  16. code - ใช้สำหรับการแทรกโค้ด
  17. fullscreen - ใช้สำหรับการแสดงเนื้อหาแบบเต็มหน้าจอ
  18. insertdatetime - ใช้สำหรับการแทรกวันที่และเวลา
  19. media - ใช้สำหรับการแทรกสื่อต่าง ๆ
  20. nonbreaking - ใช้สำหรับการแทรกเครื่องหมายตัวแบ่งแบบไม่ตัดสตริง
  21. save - ใช้สำหรับการบันทึกเนื้อหา

หนังสือพัฒนาตัวเอง

จุดเริ่มต้นที่ชัดเจน

เว็บไซต์หรือแอปพลิเคชั่นของคุณเริ่มต้นที่นี่

ลงทะเบียนแล้วเราจะส่งข้อเสนอที่ดีที่สุดให้กับคุณ